package io.aicn.lowcode.generator.model;

import lombok.Data;

@Data
public class GenerationRequest {
    private String tableName;
    private String tablePrefix;
    private String basePackage;
    private EntityConfig entityConfig;
    private MapperConfig mapperConfig;
    private ServiceConfig serviceConfig;
    private ControllerConfig controllerConfig;
    private QOConfig qoConfig;
    private VOConfig voConfig;
    private OutputConfig outputConfig;
    private StrategyConfig strategyConfig;
    private boolean generateQO = true;
    private boolean generateVO = true;
    
    // 手动添加getter方法以解决编译问题
    public OutputConfig getOutputConfig() {
        return outputConfig;
    }

    public String getTableName() {
        return tableName;
    }

    public void setTableName(String tableName) {
        this.tableName = tableName;
    }

    public String getTablePrefix() {
        return tablePrefix;
    }

    public void setTablePrefix(String tablePrefix) {
        this.tablePrefix = tablePrefix;
    }

    public String getBasePackage() {
        return basePackage;
    }

    public void setBasePackage(String basePackage) {
        this.basePackage = basePackage;
    }

    public EntityConfig getEntityConfig() {
        return entityConfig;
    }

    public void setEntityConfig(EntityConfig entityConfig) {
        this.entityConfig = entityConfig;
    }

    public MapperConfig getMapperConfig() {
        return mapperConfig;
    }

    public void setMapperConfig(MapperConfig mapperConfig) {
        this.mapperConfig = mapperConfig;
    }

    public ServiceConfig getServiceConfig() {
        return serviceConfig;
    }

    public void setServiceConfig(ServiceConfig serviceConfig) {
        this.serviceConfig = serviceConfig;
    }

    public ControllerConfig getControllerConfig() {
        return controllerConfig;
    }

    public void setControllerConfig(ControllerConfig controllerConfig) {
        this.controllerConfig = controllerConfig;
    }

    public QOConfig getQoConfig() {
        return qoConfig;
    }

    public void setQoConfig(QOConfig qoConfig) {
        this.qoConfig = qoConfig;
    }

    public VOConfig getVoConfig() {
        return voConfig;
    }

    public void setVoConfig(VOConfig voConfig) {
        this.voConfig = voConfig;
    }

    public void setOutputConfig(OutputConfig outputConfig) {
        this.outputConfig = outputConfig;
    }

    public StrategyConfig getStrategyConfig() {
        return strategyConfig;
    }

    public void setStrategyConfig(StrategyConfig strategyConfig) {
        this.strategyConfig = strategyConfig;
    }

    public boolean isGenerateQO() {
        return generateQO;
    }

    public void setGenerateQO(boolean generateQO) {
        this.generateQO = generateQO;
    }

    public boolean isGenerateVO() {
        return generateVO;
    }

    public void setGenerateVO(boolean generateVO) {
        this.generateVO = generateVO;
    }
}